/**
 * Generali Solutions d'assurances - Tous droits réservés &copy; 2007 - 2010
 */
package fr.generali.accueilclient.client.om.impl;

import fr.generali.accueilclient.client.om.INaturePersonne;
import fr.generali.accueilclient.client.om.NaturePersonne;

/**
 * @author Holmes Kelly
 */
public abstract class AbstractNaturePersonne implements INaturePersonne {

    /**
     * la nature personne
     */
    private NaturePersonne naturePersonne;

    /**
     * {@inheritDoc}
     */
    public NaturePersonne getNaturePersonne() {
        return naturePersonne;
    }

    /**
     * {@inheritDoc}
     */
    public void setNaturePersonne(NaturePersonne naturePersonne) {
        this.naturePersonne = naturePersonne;
    }

    /**
     * {@inheritDoc}
     */
    public boolean isNatureParticulier() {

        return NaturePersonne.PARTICULIER.equals(naturePersonne);
    }

    /**
     * {@inheritDoc}
     */
    public boolean isNatureEntreprise() {

        return NaturePersonne.ENTREPRISE.equals(naturePersonne);
    }

    /**
     * {@inheritDoc}
     */
    public boolean isNatureProfessionnelle() {

        return NaturePersonne.PROFESSIONNEL.equals(naturePersonne);
    }

    /**
     * {@inheritDoc}
     */
    public boolean isNatureAssociation() {

        return NaturePersonne.ASSOCIATION.equals(naturePersonne);
    }

    /**
     * {@inheritDoc}
     */
    public boolean isNatureCopropriete() {

        return NaturePersonne.COPROPRIETE.equals(naturePersonne);
    }

    /**
     * {@inheritDoc}
     */
    public boolean isNatureCollectivite() {

        return NaturePersonne.COLLECTIVITE.equals(naturePersonne);
    }

    /**
     * {@inheritDoc}
     */
    public boolean isNatureAutre() {

        return NaturePersonne.AUTRE.equals(naturePersonne);
    }

    /**
     * {@inheritDoc}
     */
    public boolean isNatureMorale() {

        boolean isNatureMoraleLoc = isNatureEntreprise() || isNatureCopropriete();

        isNatureMoraleLoc = isNatureMoraleLoc || isNatureCollectivite();
        isNatureMoraleLoc = isNatureMoraleLoc || isNatureAssociation();
        isNatureMoraleLoc = isNatureMoraleLoc || isNatureAutre();

        return isNatureMoraleLoc;
    }
}
